package com.yunxi.market.service;

import com.github.pagehelper.PageInfo;
import com.yunxi.market.pojo.*;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
 * <p>
 * 市场活动主表 服务类
 * </p>
 *
 * @author 
 * @since 2019-08-17
 */
public interface MarketActivityDubboService {

    MarketActivityVO getById(String id) throws InvocationTargetException, IllegalAccessException;

    void saveOrUpdate(MarketActivityVO marketActivityVO) throws InvocationTargetException, IllegalAccessException;

    void removeById(String id);

    PageInfo<MarketActivityVO> findPageByVO(MarketActivityVO marketActivityVO, Integer pageNum, Integer pageSize) throws InvocationTargetException, IllegalAccessException;

    void removeByListVo(List<MarketActivityVO> marketActivityVOList) throws IllegalAccessException, InvocationTargetException, InstantiationException;

    List listByVo(MarketActivityVO marketActivityVO);

    PageInfo<MarketActivityQueryRespVO> queryMarketActivityForApprovePage(MarketActivityQueryReqVO vo,int pageNum,int pageSize);

    PageInfo<MarketActivityQueryRespVO> queryMarketActivityForPage(MarketActivityQueryReqVO vo,int pageNum,int pageSize);

    MarketActivityDetailsQueryRespVO queryMarketActivityDetails(MarketActivityDetailsQueryReqVO vo);

    MarketActivityDetailsQueryRespVO queryMarketActivityDetailsByToPut(MarketActivityDetailsQueryReqVO vo);

    boolean saveMarketActivity(MarketActivitySaveReqVO vo);

    boolean updateMarketActivity(MarketActivityModifyReqVO vo);

    boolean audit(MarketActivityAuditReqVO vo);

    boolean toPut(MarketActivityToPutReqVO vo);

    boolean delMarketActivityItem(MarketActivityItemDelReqVO vo);
}
